home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Almathera Ten Pack 3: CDPD 3
/
Almathera Ten on Ten - Disc 3: CDPD3.iso
/
scope
/
151-175
/
scopedisk168
/
asmmacros
/
am_02
/
open.i
< prev
next >
Wrap
Text File
|
1995-03-19
|
2KB
|
79 lines
NOLIST
Open MACRO ; 19 Dec 88
*------------------------------; Start of Open macro.
NOLIST
IFEQ NARG-4 ; If new, read, or r/w is specified, make D2
; indicate the accessMode accordingly.
IFC '\4','new'
LIST
MOVE.L #1006,D2 ; Make D2 indicate "new" access mode.
NOLIST
ENDC
IFC '\4','read'
LIST
MOVE.L #1005,D2 ; Make D2 indicate "read" access mode.
NOLIST
ENDC
IFC '\4','r/w'
LIST
MOVE.L #1004,D2 ; Make D2 indicate "r/w" access mode.
NOLIST
ENDC
ENDC
IFEQ NARG-3 ; If new, read, or r/w is not specified,
LIST
MOVE.L #1005,D2 ; Make D2 indicate the old/new accessMode
TST D0 ; based on D0.
BNE 5$
SUBQ #1,D2
5$:
NOLIST
ENDC
IFC '\1','I' ; If <PointerToFileName> is specified, then
LIST
; Put <PointerToFileName> in D1.
MOVE.L #\2,D1
NOLIST
IFEQ ReEntrant-1
LIST
ADD.L A5,D1
NOLIST
ENDC
ENDC
IFC '\1','D' ; If <FileName> is specified, then
LIST
; Make D1 point to the file name string.
MOVE.L #\2.str,D1
NOLIST
IFND \2.str ; Unless it was previously defined,
LIST
SECTION DataSection,DATA ; The ASCII <FileName> string goes here.
\2.str:
DC.B '\2',0
CNOP 0,2
SECTION CodeSection,CODE
NOLIST
ENDC
ENDC
LIST
CallLib Open,dos ; Call Open to open <FileName>.
; Put the file handle at <FileHandleName>.
NOLIST
IFEQ ReEntrant-1
LIST
DefDS \3,1
MOVE.L D0,\3(A5)
NOLIST
ENDC
IFNE ReEntrant-1
LIST
DS_BSS \3,1,.L
MOVE.L D0,\3
NOLIST
ENDC
LIST
TST.L D0 ; Make the zero flag indicate failure.
*------------------------------; End of Open macro.
ENDM
LIST